#pragma once

class vec3
{
public:
            vec3();
            vec3(float x, float y, float z);
            vec3(const vec3& o);

    vec3    operator +(vec3 o);
    vec3    operator -(vec3 o);
    vec3    operator *(float f);
    void    operator =(vec3 o);
    void    operator +=(vec3 o);
    void    operator -=(vec3 o);
    void    operator *=(float f);

    bool    IsZero();
    float   Length();
    void    Normalize();
    float   Dot(vec3 o);
    vec3    Cross(vec3 o);

public:
	
    // Members 
    float   	X;
    float       Y;
    float       Z;
};